package so.sao.code.service.domain;

import java.util.HashMap;
import java.util.Map;

import so.sao.top.core.util.enums.NamedEnumEntity;

/**
 * 文件类型枚举类
 * 
 * @author wei.wang
 *
 */
public enum FileType implements NamedEnumEntity<Integer> {

	ZIP(1, "zip"), TXT(2, "txt"), CSV(3, "CSV"),;

	private Integer id; // ID

	private String name; // 名称

	private FileType(Integer id, String name) {
		this.id = id;
		this.name = name;
	}

	@Override
	public Integer getValue() {
		return id;
	}

	public String getName() {
		return name;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	/**
	 * mapping
	 */
	public static Map<Integer, FileType> fileTypeMapping = new HashMap<>();

	static {
		for (FileType fileType : FileType.values()) {
			fileTypeMapping.put(fileType.getId(), fileType);
		}
	}

	public static FileType get(Integer id) {
		return fileTypeMapping.get(id);
	}

	/**
	 * mapping
	 */
	public static Map<String, FileType> fileTypeMapping2 = new HashMap<>();

	static {
		for (FileType fileType : FileType.values()) {
			fileTypeMapping2.put(fileType.getName(), fileType);
		}
	}

	/**
	 * 
	 * @param name
	 * @return
	 */
	public static FileType get(String name) {
		return fileTypeMapping2.get(name);
	}
}
